 // 提示词类型枚举
export enum PromptType {
    SYSTEM = 'system', // 系统提示词
    USER = 'user', // 用户提示词
    ASSISTANT = 'assistant', // 助手提示词
    FUNCTION = 'function', // 函数提示词
    TOOL = 'tool', // 工具提示词
    TEMPLATE = 'template', // 模板提示词
  }
  
  // 提示词状态枚举
  export enum PromptStatus {
    DRAFT = 'draft', // 草稿
    PUBLISHED = 'published', // 已发布
    DEPRECATED = 'deprecated', // 已弃用
    ARCHIVED = 'archived', // 已归档
  }
  
  // 变量类型枚举
  export enum VariableType {
    STRING = 'string', // 字符串
    NUMBER = 'number', // 数字
    BOOLEAN = 'boolean', // 布尔值
    ARRAY = 'array', // 数组
    OBJECT = 'object', // 对象
    ANY = 'any', // 任意类型
  }
  
  // 变量定义
  export interface Variable {
    name: string; // 变量名
    type: VariableType; // 变量类型
    description?: string; // 变量描述
    required: boolean; // 是否必填
    defaultValue?: any; // 默认值
    options?: any[]; // 选项值（用于枚举类型）
    validation?: string; // 验证规则（正则表达式）
  }
  
  // 主表：提示词
  export interface Prompt {
    id: string;
    name: string; // 提示词名称
    identifier: string; // 提示词标识（英文数字下划线）
    type: PromptType; // 提示词类型
    backgroundPrompt?: string; // 背景提示词
    content: string; // 提示词模板
    description?: string; // 提示词描述
    variablesArray: Variable[]; // 变量定义
    variables: string; // 变量定义
    status: PromptStatus; // 提示词状态
    version: string; // 版本号
    tags?: string[]; // 标签
    modelIds?: string[]; // 适用的模型ID列表
    isPublic: boolean; // 是否公开
    isTemplate: boolean; // 是否模板
    createTime: string; // 创建时间
    updateTime: string; // 更新时间
    creator: string; // 创建人
    updater: string; // 更新人
  }
  
  // 创建/编辑提示词的表单值类型
  export type PromptFormValues = Omit<Prompt, 'createTime' | 'updateTime' | 'creator' | 'updater'>;